#ifndef CLIPBOARDITEM_H
#define CLIPBOARDITEM_H

#include <QString>
#include <QImage>
#include <QFile>
#include <QVariant>
#include "clipboardItemType.h"


class ClipboardItem {
public:
    // 构造函数
    ClipboardItem(ClipboardType type, const QVariant& content);

    // Getter 方法
    ClipboardType getType() const;
    QVariant getContent() const;
    QString getDisplayText() const;
    bool isFavorite() const;

    // Setter 方法
    void setFavorite(bool favorite);
    bool setContent(const QVariant& newContent);  // 编辑内容

    // 操作符重载
    bool operator==(const ClipboardItem& other) const;

    // 获取文件在存储中的路径
    QString getFileInStorage() const;

private:
    ClipboardType type;   // 剪贴板内容的类型
    QVariant content;     // 存储实际内容
    bool favorite;        // 是否被收藏

    bool validateContent(const QVariant& newContent) const;  // 验证新内容
};
#endif // CLIPBOARDITEM_H
